package com.znf4.banklink.vo;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.znf4.banklink.enums.BankLinkNetWorkStatusEnum;

/**
 * TODO... 无注释
 */
public class CnpPayPreResult implements Serializable {
	private static final long serialVersionUID = 5817898096764715558L;

	/**
	 * 银行通信状态
	 */
	private BankLinkNetWorkStatusEnum bankLinkNetWorkStatusEnum;

	/**
	 * 支付信息 扫码支付返回二维码支付链接 wap支付返回wap支付链接 公众号支付返回公众号所需信息
	 */
	private String payMessage;

	/**
	 * 银行返回信息
	 */
	private String bankReturnMsg;

	/** add 用户公众号接口，判断是否是实名认证接口 **/
	private Boolean gzhIsRealNames = false;

	/**
	 * 银行流水号
	 */
	private String bankTrxNo;

	/** 微信公众号接口是否需要实名认证 **/
	public Boolean getGzhIsRealNames() {
		return gzhIsRealNames;
	}

	/** 微信公众号接口是否需要实名认证 **/
	public void setGzhIsRealNames(Boolean gzhIsRealNames) {
		this.gzhIsRealNames = gzhIsRealNames;
	}

	public BankLinkNetWorkStatusEnum getBankLinkNetWorkStatusEnum() {
		return bankLinkNetWorkStatusEnum;
	}

	public void setBankLinkNetWorkStatusEnum(BankLinkNetWorkStatusEnum bankLinkNetWorkStatusEnum) {
		this.bankLinkNetWorkStatusEnum = bankLinkNetWorkStatusEnum;
	}

	public String getPayMessage() {
		return payMessage;
	}

	public void setPayMessage(String payMessage) {
		this.payMessage = payMessage;
	}

	public String getBankReturnMsg() {
		return bankReturnMsg;
	}

	public void setBankReturnMsg(String bankReturnMsg) {
		this.bankReturnMsg = bankReturnMsg;
	}

	/**
	 * 
	 * 函数功能说明 ： 微信公众号实名认证接口，需要把接口返回数据封装成json返回<br/>
	 * 修改者名字： <br/>
	 * 修改日期： <br/>
	 * 修改内容：<br/>
	 * 作者：<br/>
	 * 入参：@param appId 公众号调起支付中的appid参数 <br/>
	 * 入参：@param packageStr 公众号调起支付中的package参数 <br/>
	 * 入参：@param nonceStr 公众号调起支付中的noncestr参数<br/>
	 * 入参：@param timeStamp 公众号调起支付中的timestamp参数<br/>
	 * 入参：@param paySign 公众号调起支付中的paySign参数<br/>
	 * 入参：@param signType 公众号调起支付中的signType参数<br/>
	 * 入参：@param attach1 拓展参数1<br/>
	 * 入参：@param attach2 拓展参数2<br/>
	 * 出参：@return void<br/>
	 */
	public void gzhRealNamePutDate(String appId, String packageStr, String nonceStr, String timeStamp, String paySign, String signType, String attach1, String attach2) {
		Map<String, String> resMap = new HashMap<String, String>();
		resMap.put("appId", appId);
		resMap.put("timeStamp", timeStamp);
		resMap.put("nonceStr", nonceStr);
		resMap.put("packageStr", packageStr);
		resMap.put("signType", signType);
		resMap.put("paySign", paySign);
		String jsonStr = JSONObject.toJSONString(resMap);
		System.out.println("转换json：" + jsonStr);
		// 保存到payMessage
		this.setPayMessage(jsonStr);
		// 设置为公众号实名认证为true
		this.setGzhIsRealNames(true);

	}

	public String getBankTrxNo() {
		return bankTrxNo;
	}

	public void setBankTrxNo(String bankTrxNo) {
		this.bankTrxNo = bankTrxNo;
	}
}
